1. Field of the Invention
The present invention relates to a controller for controlling a servomotor for use as a driving source of a movable part of a machine such as a machine tool, so as to control position and/or velocity of the movable part of the machine.
2. Description of Related Art
In machine tools, a servomotor is used as a driving source for a feed axis which moves a movable part such as a tool or a table with a workpiece mounted on, where by driving the feed axis by controlling the position and velocity of the servomotor, the workpiece is machined into a shape designated by a machining program or the like.
Regarding the controlling of such servomotor, there is known a method in which a position command or a velocity command is corrected so that a workpiece can be machined into a designated shape with high accuracy. When the machine continues to be used, the machine is heated by heat produced from the motor, etc. and undergoes thermal deformation. The servomotor drives a movable part via a feed mechanism or the like such as a ball screw/nut mechanism. Thus, if the feed mechanism undergoes thermal displacement, even when the servomotor is driven correctly according to the machining program, the intended shape cannot be achieved due to this thermal displacement, or in other words, the machining accuracy lowers. There is known a method intended to prevent this, in which, by detecting a machine temperature or the like by a temperature sensor or the like and correcting a position command, a position deviation, a velocity command or the like based on the temperature detected, machining is performed with high accuracy.
In a synchronous control method in which one object is driven by two synchronized servomotors, stress is produced in each motor due to thermal expansion of the machine or the like. There is known an invention intended to reduce such stress, in which, by obtaining a position-deviation correction amount based on a current command (torque command) outputted to each servomotor or an actual current supplied to each servomotor, a position deviation, namely a difference between a position designated by a command and a position feedback amount is corrected (see JP 2004-288164A).
Some of the inventors of this application developed a controller intended to suppress oscillation of a driven object, in which by providing an acceleration sensor for detecting the acceleration of a driven object and correcting a position command, a position deviation, a velocity command or the like based on the acceleration detected by the acceleration sensor, the oscillation of the driven object is suppressed, and Japanese Patent Application No. 2004-341770 was filed and published as JP 2006-158026A.
In the machine tool, when the correction amount used for correcting a position command, position deviation or velocity command varies during machining, such variation leads to fluctuation of the position of the servomotor, and causes lowering of the surface quality of a machined piece. Further, if correction to a position command, position deviation or velocity command is not carried out, the position of an object becomes different from the position designated by a command due to thermal displacement or the like as mentioned above, which results in a greater positioning error.
Further, when one object is driven by more than one servomotors as mentioned above, if correction to a position command, velocity command or the like is not carried out, stress is produced in each servomotor, or in other words, force exerted on each servomotor increases.